package com.dc.designPattern._17_mediator.extend.extend2;

/**
 * Description: 具体同事类_库存管理
 * @author: gdc
 * @date: 2021/6/25
 * @version 1.0
 */
public class Stock extends AbstractColleague{

    public Stock(AbstractMediator abstractMediator) {
        super(abstractMediator);
    }

    /**
     * 初始化时包含 100台电脑，
     * 此处使用static, 使变量参数可以在各个对象中共用
     */
    private static int COMPUTE_NUM = 100;

    /**
     * 增加库存
     * @param num           增加数量
     */
    public void increase(int num) {
        COMPUTE_NUM += num;
        System.out.println("库存数量为：" + COMPUTE_NUM);
    }

    /**
     * 减少库存
     * @param num           较少数量
     */
    public void decrease(int num) {
        COMPUTE_NUM -= num;
        System.out.println("库存数量为：" + COMPUTE_NUM);
    }

    /**
     * 获取库存数量
     * @return              库存数量
     */
    public int getStockNum() {
        return COMPUTE_NUM;
    }

    /**
     * 清库存
     * 存货压力大了，要去通知采购人员不要采购，销售人员要尽快销售
     */
    public void clearStock() {
        System.out.println("清理存货数量：" + COMPUTE_NUM);

        super.getMediator().execute("stock.clear");
    }
}
